home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 June / EnigmA AMIGA RUN 19 (1997)(G.R. Edizioni)(IT)[!][issue 1997-06][EAR-CD III].iso / for amiga / lib / libc-5.4.17.bin.readme < prev    next >
Text File  |  1997-04-22  |  11KB  |  295 lines

  1.  
  2. This is a binary release of libc-5.4.17 for Linux/m68k. The patch I had to
  3. apply first is appended below.
  4.  
  5. Please read the section `BINARY INSTALLATION' from the original release.libc.
  6.  
  7. >>>>------------------------------release.libc------------------------------<<<<
  8. Hi, Gals and Guys,
  9.  
  10. Binaries of locale and localedef are included in the binary release.
  11.  
  12. I added the support for larger PATH_MAX in linux 2.1.x. The old binaries
  13. should run fine with the new shared library compiled with the new
  14. PATH_MAX in linux 2.1.x. Let me know if you find any problems.
  15.  
  16. I added some libc 6.x/glibc 2.x compatibility codes for libc 5.4.14
  17. so that the old XFree86 binaries will run fine with the new XFree86
  18. shared librraries compiled with libc 6.x/glibc 2.x.
  19.  
  20. If you use linux 2.1.x, you need libc 5.4.17 or above to compile libc
  21. yourself. The pre-compiled libc should run fine under linux 2.1.x.
  22. Also this library is compiled with -D_REENTRANT so that errno is MT
  23. safe.
  24.  
  25. The shared libraries are now compiled with -g1 which can provide
  26. minimum information when core dump happens. You can strip
  27. libc.so.5.4.17 if you want.
  28.  
  29. Due to the new, improved locale, the Linux C library 5.4.17 is binary
  30. compatible with libc 5.3.12 but not vice versa. The binaries
  31. compiled/linked with libc.so.5.4.17 may not run with libc.so.5.3.12.
  32. You may need to regenerate locale files for the new locale in libc
  33. 5.4.17 if you use locales other tha C/POSIX which are the defaults.
  34.  
  35. The locale sources are at
  36.  
  37. ftp://dkuug.dk/i18n/WG15-collection/locales
  38.  
  39. There are many security bug fixes. Please consult ChangeLog for
  40. details. Please let me know if there are more security bugs remains.
  41.  
  42. This is the beta release of the Linux C library 5.4.17. Please read
  43. the ChangeLog for details regarding changes/bug fixes.
  44.  
  45. DISTRIBUTION SITES:
  46.  
  47. The primary FTP sites for the compiler/C library are:
  48.  
  49. *     ftp://tsx-11.mit.edu/pub/linux/packages/GCC/private/tofu
  50. *     ftp://sunsite.unc.edu/pub/Linux/GCC/private/tofu
  51.  
  52. The secondary FTP sites are:
  53.  
  54. *     ftp://linux.nrao.edu/pub/linux/packages/GCC_private/tofu
  55. *     ftp://i44ftp.info.uni-karlsruhe.de/pub/linux/libc/private/dontuse
  56. *     ftp://ftp.ctd.comsat.com/pub/linux/private/GCC
  57.  
  58. Due to the slow link, secondary ftp sites may not be updated as quickly
  59. as the primaries.
  60.  
  61. DISTRIBUTION FILES:
  62.  
  63. 1.    libc-5.4.17.bin.tar.gz
  64.  
  65. REQUIRED. This package contains the header files for libc, shared and
  66. static ELF libraries libc and libm, and the static ELF library libbsd.a. 
  67. The header files in libc-5.4.17.bin.tar.gz are not complete. You need to
  68. install the kernel source tree for the system-dependent header files.
  69.  
  70. The header files are in lib-x.y.z.bin.tar.gz and libc-x.y.z.tar.gz. You
  71. can do
  72.  
  73. # gzip -dc lib-x.y.z.bin.tar.gz | tar xvvf - usr/include
  74.  
  75. to extract the header files without the binaries files. A separate
  76. tar file for the header files may cause unnecessary confusion.
  77.  
  78. 2.    libc-5.4.17.tar.gz
  79.  
  80. Source tree for libc and header files.
  81.  
  82. 3.    libc-5.4.16-5.4.17.diff.gz
  83.  
  84. Context diffs against the source tree from the previous libc release.
  85. Please make sure the empty libc/regex/rx.h is deleted.
  86.  
  87. MISSING LIBRARIES:
  88.  
  89. The only libraries included in this package are the Linux C library, libc 
  90. and the math library, libm.
  91.  
  92. ELF versions of libraries formerly included in the libc package can be 
  93. found at the following FTP sites:
  94.  
  95. * gdbm        ftp://sunsite.unc.edu/pub/Linux/libs/db/gdbm-1.7.3-ELF.tar.gz
  96. * db        ftp://sunsite.unc.edu/pub/Linux/libs/db/db-1.85.2.bin.tar.gz
  97. * ncurses    ftp://ftp.tos.net/pub/linux/ncurses
  98. * termcap    ftp://tsx-11.mit.edu/pub/linux/packages/GCC
  99.         ftp://sunsite.unc.edu/pub/Linux/GCC
  100.  
  101. Gertjan van Wingerde (gertjan@cs.vu.nl) maintains the ELF db package.
  102.  
  103. Christopher Wiles (wileyc@moscow.com) maintains the ELF gdbm and
  104. curses.
  105.  
  106. MacGyver <macgyver@tos.net> maintains the ELF ncurses.
  107.  
  108. NOTE: I strongly suggest using ncurses to replace curses/termcap. The
  109. current ncurses supports ELF.
  110.  
  111. SYSTEM REQUIREMENTS:
  112.  
  113. *     kernel 1.1.92 or above.  It may work with an older kernel if
  114.     the QMAGIC format is supported. If you use the kernel 1.3.x,
  115.     you should upgrade to 1.3.40 or above. Otherwise readv/writev
  116.     system calls won't work right.
  117.     To compile the MIT pthread kernel, I only builed it with
  118.     Linux kernel source code 1.99.10. You can comment out
  119.     pthreads in DIRS in libc/sysdeps/Makefile.
  120. *    gcc-2.7.2 or above and binutils-2.7.0.3 or above.
  121. *    ld.so-1.8.1 or above.  The latest version can be obtained from 
  122.     ftp://ftp.ods.com/pub/linux
  123. *    libg++ 2.7.2.1 or above.  This is only necessary for development 
  124.     using c++.
  125.  
  126. BINARY INSTALLATION:
  127.  
  128. Ensure that /usr/include/asm and /usr/include/linux are a symlinks to 
  129. their counterparts in the kernel source tree.  For example, if your kernel
  130. source resides within /usr/src/linux, execute: 
  131.  
  132. ln -s -f /usr/src/linux/include/asm /usr/include/asm
  133. ln -s -f /usr/src/linux/include/linux /usr/include/linux
  134.  
  135. As some programs need <linux/autoconf.h>, the following two commands may 
  136. be necessary to generate that header file:
  137.               
  138. cd /usr/src/linux
  139. make config
  140.  
  141. Verify that /var/run/utmp and /var/log/wtmp exist.  Replace all other 
  142. occurances of utmp and wtmp (/etc/utmp, for example) with symlinks.
  143.  
  144. Assuming the libc binary tarfile is in /, and as root, execute:
  145.                    
  146. cd /
  147. rm -f /lib/libc.so /lib/libm.so
  148. rm -f /usr/lib/libc.so /usr/lib/libm.so
  149. rm -f /usr/include/iolibio.h /usr/include/iostdio.h 
  150. rm -f /usr/include/wcstr.h /usr/include/mbstr.h
  151. rm -f /usr/include/ld_so_config.h /usr/include/localeinfo.h
  152. rm -rf /usr/include/netinet /usr/include/net /usr/include/pthread
  153. gzip -dc libc-5.4.17.bin.tar.gz | tar xvf -
  154.  
  155. SOURCE INSTALLATION:
  156.  
  157. Unpack the libc source tarfile in your source directory.  Refer to the 
  158. README for compilation instructions.
  159.  
  160. COMPATIBILITY NOTES:
  161.  
  162. If your kernel uses system call numbers 135 to 146 for unintended
  163. purposes, this library may not work for you. One example is the kswap
  164. kernel patch for 1.2.x uses the same system call numbers for other
  165. uses. That breaks this library. Please compare/check <sys/syscall.h>,
  166. <asm/unistd.h> and <linux/unistd.h>. You have to make sure those
  167. system call numbers are consistent from libc to your kernel.
  168.  
  169. There is no support for a.out libraries in this source tree.  The latest
  170. version of the a.out library suite is libc-4.7.5, which can be obtained
  171. from one of the ftp sites listed below. 
  172.  
  173. The structure DIR, defined in sysdeps/linux/dirstream.h, was changed in
  174. release 5.2.0.  If you upgrade from release 5.1.4 or earlier to release
  175. 5.2.0 or later, you must reboot after installing the new libraries.  If
  176. you compile your own library, *do not* "make install".  Instead, copy the
  177. new libc.so* to /lib, do "ldconfig -v", reboot, then do "make install" 
  178.  
  179. A dirent bug, which erroneously defined d->reclen to d->namlen if USE_GNU
  180. was defined, has been fixed.  Unfortunately, some GNU packages depend on
  181. this bug.  GNU make 3.xx is one of them.  A patch is included here.
  182.  
  183. A back door has been added for the file descriptor in DIR.  You need to
  184. define DIRENT_ILLEGAL_ACCESS to access the dd_fd field.  You should use
  185. dirfd () to get the the file descriptor in DIR.  Use this at your own
  186. risk. 
  187.  
  188. A new dirent bug is fixed. The ELF nfsd should work fine. 
  189.  
  190. <iostdio.h> and <iolibio.h> have been removed.
  191.  
  192. PTHREAD NOTES:
  193.  
  194. The MIT pthread library 1.60 beta4 seems to work.  It passed most of tests
  195. in the MIT pthread package. The pthread libraries are not installed by
  196. default, nor are binaries included.  You may want to remove "-g" from the
  197. default CFLAGS for the pthread library.  You need to install the
  198. library "elfshared/libpthread.so.1.60.beta4" in either /usr/local/lib
  199. or /usr/lib manually.  You must run ldconfig after installing them. 
  200.  
  201. To compile pthread programs, you need to add -D_MIT_POSIX_THREADS to
  202. CFLAGS and -lpthread to LDFLAGS.  The network _r functions are still
  203. missing. Due to the limitation of the static ELF library, pthread only
  204. works with the shared libpthread and libc. It is very tricky to make
  205. static libpthread and libc work.
  206.  
  207. NYS NOTES:
  208.  
  209. NYS binaries are not provided this time.  NYS 0.27.4 is included in the 
  210. source tree as a compile-time option.  Please consult README.nys and other 
  211. applicable NYS documents before attempting NYS installation. I disabled
  212. DBM for NYS. Some changes are needed to support non-builtin dbm. 
  213.  
  214. INFORMATION/DOCUMENTATION:
  215.  
  216. ELF related WWW pages:
  217.  
  218. *    http://www.intac.com/~cully/elf.html
  219. *    http://www.sjc.ox.ac.uk/users/barlow/linux-gcc.html
  220. *    http://www.blackdown.org/elf/elf.html
  221.  
  222. ELF documentation:
  223.  
  224. *    ftp://sunsite.unc.edu/pub/Linux/GCC/elf.ps.gz
  225. *    ftp://sunsite.unc.edu/pub/Linux/GCC/elf.latex.tar.gz
  226. *    ftp://sunsite.unc.edu/pub/Linux/GCC/ELF.doc.tar.gz
  227.  
  228. H.J.
  229. hjl@gnu.ai.mit.edu
  230. 12/05/96
  231. ----
  232. RCS file: /home/cvs/gnu/make/dir.c,v
  233. retrieving revision 1.1.1.1
  234. diff -c -r1.1.1.1 dir.c
  235. *** 1.1.1.1    1995/06/25 03:27:16
  236. --- dir.c    1995/06/25 03:55:22
  237. ***************
  238. *** 20,26 ****
  239.   
  240.   #if    defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
  241.   #include <dirent.h>
  242. ! #ifndef    __GNU_LIBRARY__
  243.   #define D_NAMLEN(d) strlen((d)->d_name)
  244.   #else    /* GNU C library.  */
  245.   #define D_NAMLEN(d) ((d)->d_namlen)
  246. --- 20,26 ----
  247.   
  248.   #if    defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
  249.   #include <dirent.h>
  250. ! #ifndef    __BAD_GNU_LIBRARY__
  251.   #define D_NAMLEN(d) strlen((d)->d_name)
  252.   #else    /* GNU C library.  */
  253.   #define D_NAMLEN(d) ((d)->d_namlen)
  254. ===================================================================
  255. RCS file: /home/cvs/gnu/make/glob/glob.c,v
  256. retrieving revision 1.1.1.1
  257. diff -c -r1.1.1.1 glob.c
  258. *** 1.1.1.1    1995/06/25 03:27:18
  259. --- glob/glob.c    1995/06/25 03:56:01
  260. ***************
  261. *** 64,70 ****
  262.   
  263.   #if    defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
  264.   #include <dirent.h>
  265. ! #ifndef    __GNU_LIBRARY__
  266.   #define D_NAMLEN(d) strlen((d)->d_name)
  267.   #else    /* GNU C library.  */
  268.   #define D_NAMLEN(d) ((d)->d_namlen)
  269. --- 64,70 ----
  270.   
  271.   #if    defined (POSIX) || defined (HAVE_DIRENT_H) || defined (__GNU_LIBRARY__)
  272.   #include <dirent.h>
  273. ! #ifndef    __BAD_GNU_LIBRARY__
  274.   #define D_NAMLEN(d) strlen((d)->d_name)
  275.   #else    /* GNU C library.  */
  276.   #define D_NAMLEN(d) ((d)->d_namlen)
  277. >>>>------------------------------release.libc------------------------------<<<<
  278.  
  279. --- libc-5.4.17/libc/sysdeps/linux/m68k/gmon/gmon.c.orig    Sat Oct  5 00:53:34 1996
  280. +++ libc-5.4.17/libc/sysdeps/linux/m68k/gmon/gmon.c    Mon Dec  9 21:41:03 1996
  281. @@ -252,7 +252,7 @@
  282.      close( fd );
  283.  }
  284.  
  285. -#ifdef __ELF__ || defined __STDC__
  286. +#if defined(__ELF__) || defined(__STDC__)
  287.  void
  288.  _mcount( void )
  289.  #else
  290.  
  291. --
  292. Geert Uytterhoeven                     Geert.Uytterhoeven@cs.kuleuven.ac.be
  293. Wavelets, Linux/m68k on Amiga          http://www.cs.kuleuven.ac.be/~geert/
  294. Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium
  295.